/*
 * @Author: luqingliang
 * @Date: 2024-02-22 19:12:11
 * @Last Modified by: 13420685558@163.com
 * @Last Modified time: 2024-02-22 20:06:13
 */
// 泛型栈实现
#ifndef __STACK_H__
#define __STACK_H__
// typedef void stack_t;
typedef struct stack_st
{
    void *arr;             // 存储数据数组
    unsigned int elemsize; // 数据大小
    unsigned int cap;      // 栈容量
    unsigned int amout;    // 栈内含数据数量
    unsigned char status;  // 状态
} stack_t;

stack_t *stack_create(unsigned int elemsize);

void stack_free(stack_t *stack);

int stack_push(stack_t *stack, void *data);

int stack_pop(stack_t *stack, void *result);

#endif